package sharpen.xobotos.api.interop.glue; import java.util.ArrayList; import java.util.Collections; import java.util.List; public abstract class AbstractDeclaration<T extends AbstractDefinition> extends AbstractMember { private final T _definition; protected AbstractDeclaration(T definition) { super(definition.getVisibility()); this._definition = definition; } public T getDefinition() { return _definition; } protected List<AbstractMember> createDeclarationList(List<AbstractMember> list) { List<AbstractMember> retval = new ArrayList<AbstractMember>(); for (AbstractMember member : list) { if (member instanceof AbstractDefinition) retval.add(((AbstractDefinition) member).getDeclaration()); else retval.add(member); } return Collections.unmodifiableList(retval); } }